Introduction
The purpose of this tutorial is to show how you can use the AVR-IoT Cellular Mini board to create a plant monitoring system. The plant monitor system can read the temperature, humidity, soil moisture level and illuminance. It sends data periodically to the cloud for storage and makes it possible to see the data on an online dashboard.
The project is composed of 4 parts:
- Device Container - A container that holds all the hardware together.
- Implementation - Code implemented to retrieve the data from the different sensors, start the different board modules and also establish the connection between the board and the cloud platform.
- Cloud Integration - Shows all the services created on the cloud platform's side (in this case AWS), and how the communication happens between all the services after the data arrives at AWS.
System Overview
The cellular board gathers sensor data periodically and sends it to AWS with MQTT. The AWS services (outlined in Cloud Integration) are used to store the data in a database and also display the information on a webpage. The block diagram of the plant monitoring system is shown below:
Project Resources
The plant monitoring system has the following hardware and software requirements:
Hardware
- AVR-IoT Cellular Mini Kit (x1)
- Adafruit STEMMA Soil Sensor (x1)
- Adafruit AHT20 Humidity & Temperature Sensor (x1)
- Adafruit VEML7700 Lux Sensor (x1)
- STEMMA QT / Qwiic connectors (x2)
- Lithium Ion Polymer Battery - 3.7v 1200mAh (x1)
- USB-C Connector (x1)
Software
- DxCore & Arduino IDE - follow the instructions from Development Environment to setup everything.
- AWS Account Provisioning - the instructions for the AVR-IoT Cellular Mini board provisioning can be followed here.
Assembly
The sensors are daisy chained together using Qwiic connectors, and are then connected to the Qwiic port on the AVR-IoT Cellular Board. The battery can be plugged directly into the on-board battery connector (the board is also powered via USB and does not require a battery during development).